Extensible Effects
モナド変換子の代替となるもの
モナド変換子はモナドをスタックするが、Extensible Effectsはモナドを混ぜ合わせる
改良版にFreer Effectsがある
2013年頃に流行った(?)
Library
extensible-effects
#WIP
https://nymphium.github.io/2020/03/15/ae-ee.html
https://fumieval.hatenablog.com/entry/2017/08/02/230422
https://arxiv.org/abs/1203.1539
https://qiita.com/yyu/items/fbd6edc00abb6395dabb
https://zenn.dev/funnycat/articles/81984f584fd62c
https://zenn.dev/funnycat/articles/230f7fa0d11739
https://zenn.dev/funnycat/articles/f012b0429d8304
#??
なんでEffectの話をしているのにrecordが出てくるのか?
これはただfumieval/extensibleが拡張recordやeffectを包含するLibraryで、かつ、これがよく使われるから混じって見えるだけでは?
どのLibraryがExtensible Effectsに則ったものなのかわからない
Freer Effectsが登場してからはもはやあまり使われなかったりするのか?
Freer Effectsを理解するためにはExtensible Effectsの理解を経由する必要があるのか?
もともとどういう問題があって、これに依って何を解決したのか?
見ていくと、Haskell CakeでのEffectの注入と同じような見た目だということがわかってきたmrsekut.icon
Extensible EffectsはEffと呼ばれる構造を導入する
Effを構成する要素
Freerモナド
Open Union
Type-aligned Sequence
この辺を先に読むと良さそう
『Extensible Effects An Alternative to Monad Transformers』
http://okmij.org/ftp/Haskell/extensible/
その次に読むと良さそう
https://fumieval.hatenablog.com/entry/2017/08/02/230422
https://www.slideshare.net/konn/freer-monads-more-extensible-effects-59411772
https://hackage.haskell.org/package/extensible-effects
https://hackage.haskell.org/package/extensible-effects
https://qiita.com/aiya000/items/ea91dcfb5068cc8cd993
http://fumieval.hatenablog.com/entry/2017/08/02/230422
https://qiita.com/ryota-ka/items/6d9ce86674cbd2419397
http://fumieval.hatenablog.com/entry/2016/10/10/000011
http://t10471.hatenablog.com/entry/2019/06/03/014237
https://halcat.org/scala/extensible/index.html
https://matsubara0507.github.io/posts/2017-12-09-extensible-effects-step-by-step.html
/LugendrePublic/Extensible Effect
/tosuke/お気持ちで理解するExtendible Effects
https://hackage.haskell.org/package/extensible